package com.sunfeng.chap1;

import java.nio.CharBuffer;

public class Test5 {
    public static void main(String[] args) {
        CharBuffer buffer = CharBuffer.allocate(10);
        buffer.put('你');
        buffer.put('好');
        //  直接跳转位置
        //buffer.position(0);
        //  现在剩余的缓冲区只有5了
        //  经过标记后，会持续记住此位置
        buffer.position(0).mark();
        // 与上述函数的简洁写法
        // buffer.flip();
        //  遍历数据
        while(buffer.hasRemaining()) {
            System.out.println(buffer.get());
            //  在0位置进行标记，reset也能达到类似的效果
            buffer.reset();
        }

        //从上面的两端代码可以看出，无论是遍历还是位置统计都不需要mark()操作，但结合使用reset()，mark()就可以大显身手了：
    }
}
